SpringMVC框架下实现分页功能

您所在的位置:网站首页 Java mvc分页写在哪一层 SpringMVC框架下实现分页功能

SpringMVC框架下实现分页功能

2024-06-13 01:43| 来源: 网络整理| 查看: 265

1、创建实体类Page.java

@Entity public class Page { private int totalRecord;// 表示查询后一共得到多少条结果记录 private int pageSize; // 表示页面一次要显示多少条记录 private int totalPage;// 表示将所有的记录进行分页后,一共有多少页 private int startIndex;// 表示从所有的结果记录中的哪一个编号开始分页查询 private int currentPage; // 表示用户想看的页数 @SuppressWarnings("unchecked") private List list =null;// list集合是用来装载一个页面中的所有记录的 public Page(int pageNum, int totalRecord) { this.currentPage = pageNum; this.totalRecord = totalRecord; this.pageSize = 5;// 设置一页默认显示10条查询记录 this.startIndex = (this.currentPage - 1) * this.pageSize;// 至于为什么this.page要减1, // 是因为mysql数据库对于分页查询时,得到的所有的查询记录,第一条记录的编号是从0开始。 if (this.totalRecord % this.pageSize == 0) { this.totalPage = this.totalRecord / this.pageSize; } else { this.totalPage = this.totalRecord / this.pageSize + 1; } } //****此处省略了set和get方法****// }

2、创建Dao层实现类PageDaoImpl.java

@Repository public class PageDaoImpl implements PageDao { @Autowired private JdbcTemplate jdbcTemplate; /* * 获得总记录数 */ @SuppressWarnings("deprecation") public int getTotalRecord(String sql, Object... arrayParameters) { int totalRecord = jdbcTemplate.queryForInt(sql, arrayParameters); return totalRecord; } /* * 获取当前页数据 */ @SuppressWarnings("unchecked") public Page getPage(int pageNum, Class clazz, String sql, int totalRecord, Object... parameters) { Page page = new Page(pageNum, totalRecord); sql = sql+" limit "+page.getStartIndex()+","+page.getPageSize(); List list=jdbcTemplate.query(sql, parameters, ParameterizedBeanPropertyRowMapper.newInstance(clazz)); page.setList(list); return page; } }

3、在服务层实现类中添加代码

public Page getClassifyPage(int pageNum) { String sql = "select count(*) from t_classify"; int totalRecord = pageDao.getTotalRecord(sql); sql = "select * from t_classify"; Page page = pageDao.getPage(pageNum, Classify.class, sql, totalRecord); return page; }

4、在控制层中添加代码

@RequestMapping("/list") public String list(HttpServletRequest request) { String pageNum=request.getParameter("p")==null?"1":request.getParameter("p");//获取页码,默认1 request.setAttribute("page", classifyService.getClassifyPage(Integer.valueOf(pageNum)));return "admin/classify/list"; }

5、在jsp页面中布局

内容部分:

         ${classify.name}       ${classify.id}

分页按钮部分:

页次:${page.currentPage}/${page.totalPage};每页${page.pageSize};总数${page.totalRecord};;;; 首页 上一页 上一页     ${i}        --%> 下一页 下一页

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3